home *** CD-ROM | disk | FTP | other *** search
/ Chip 2002 June / ChipCD 6.02.iso / test / nav / NAV / SWPlugin.dll / HTML / SCANNERS.JS < prev    next >
Text File  |  2002-05-06  |  14KB  |  336 lines

  1. /*********************************************************************************/
  2. // message maps
  3. window.onload=OnResizeBody;
  4.  
  5. /*********************************************************************************/
  6. // Element positioning and sizing constants
  7. var ScannerTableToBodyHeightDiff = 50;
  8. var bWinNT  = false;
  9.  
  10. function GetOS()
  11. {
  12.     var ua = navigator.userAgent;
  13.        if(ua.indexOf("Windows NT") >= 1)
  14.         bWinNT =  true;
  15.        if(bWinNT)
  16.            parent.NumberOfScanners = MAXIMUM_Scanners - 3;
  17.     else
  18.         parent.NumberOfScanners = MAXIMUM_Scanners;
  19. }
  20.  
  21. /*********************************************************************************/
  22. // Change the description of scanner
  23.  
  24. function Update_Description(Index, NewDescription)
  25. {
  26.     var DescriptionElementID = "Scanner" + Index + "_Description";
  27.     var DescriptionElement = document.body.all.item(DescriptionElementID, 0);
  28.     if (DescriptionElement)
  29.         DescriptionElement.innerHTML = '<I>' + NewDescription + '</I>';
  30. }
  31. /*********************************************************************************/
  32. // THIS FUNCTIONS IS USED TO CHANGE THE IMAGE IN THE PAGE BEFORE,DURING AND AFTER SCANNING
  33.  
  34. function Update_Image(Index,Gif_Number )
  35. {
  36.   if (parent.images_coll.length>0)
  37.     parent.images_coll(parent.Images[Index]).src= parent.pict[Gif_Number];
  38. }
  39. /*********************************************************************************/
  40. // THIS FUNCTION IS USED TO FORMAT THE DYNAMIC ERROR 
  41.  
  42. function Update_Error(Index,ErrorString,ColorName,IsBold)
  43. {
  44.   ErrorID = parent.ScannerErrors[Index];
  45.   ToolTipString = parent.GetString("TOOLTIP_MESSAGE", "", "");
  46.   if (IsBold)
  47.     document.body.all(ErrorID).innerHTML =  "<B>" + ErrorString + "</B>";
  48.   else
  49.     document.body.all(ErrorID).innerHTML =  ErrorString;
  50.   FontColorID =  parent.ErrorColors[Index];
  51.   parent.font_coll(FontColorID).color = ColorName;
  52. }
  53.  
  54. function LaunchPointProduct(WrapperIndex,ThisElement)
  55. {
  56.  parent.object_coll(parent.Wrappers[WrapperIndex]).RunPointProduct();
  57.  ThisElement.className = 'classLink';
  58. }
  59.  
  60. /*********************************************************************************/
  61. // THIS FUNCTION IS USED TO DISPLAY ERROR COLOR, ERROR AND CHANGE IMAGE, UPDATE PROGRESSBAR
  62.  
  63. function Update_UI(bSuccessful)
  64. {
  65.     var NewDescription = "";
  66.     var ErrorString;
  67.     var ImageNum;
  68.     var IsBold = false;
  69.     var Scanner_numErrors = parent.object_coll(parent.Wrappers[parent.ScannerNumber]).numErrors;
  70.     if (!bSuccessful)
  71.     {
  72.         // scan did not run (different from scan ran but errors were found!)
  73.         if ( parent.GetProductInstalledError(parent.ScannerNumber) )
  74.             NewDescription = parent.GetNoPointProductMsg(parent.ScannerNumber);
  75.         ErrorString = parent.GetString("SCAN_FAILED", "", "");
  76.         ErrorColor = "Red";
  77.         IsBold = true;
  78.         ImageNum = 0;
  79.     }
  80.     else if(Scanner_numErrors > 0)
  81.     { 
  82.        if(Scanner_numErrors == 1) 
  83.             ErrorString =  Scanner_numErrors + parent.GetString("SINGLE_ERROR_FOUND", "", "");
  84.        else
  85.             ErrorString =  Scanner_numErrors + parent.GetString("ERRORS_FOUND", "", "");
  86.           parent.Scanner_With_Errors[parent.TotalScanners_With_Errors++]= parent.ScannerNumber;
  87.        parent.TotalNumErrors += Scanner_numErrors;
  88.        IsBold = true;
  89.        ErrorColor = "Red";
  90.        ImageNum = 2;
  91.         
  92.     }
  93.     else
  94.     {
  95.         ErrorString = parent.GetString("NO_ERRORS_FOUND", "", "");
  96.         ErrorColor = "Green";
  97.         ImageNum = 2;
  98.     }
  99.     
  100.     Update_Image(parent.ScannerNumber, ImageNum);  
  101.     Update_Error(parent.ScannerNumber,ErrorString,ErrorColor,IsBold);  
  102.     if (NewDescription != "")
  103.         Update_Description(parent.ScannerNumber, NewDescription);
  104.     
  105.     //parent.images_coll(parent.Images[parent.ScannerNumber]).scrollIntoView(true);
  106.     var ScannerTableRowID = "ScannerTableRow" + parent.ScannerNumber;
  107.     document.body.all.item(ScannerTableRowID).scrollIntoView(true);
  108.   }
  109.  
  110. /*********************************************************************************/
  111. // THIS FUNCTION IS CALLED TO SET THE PAGE TO DEFAULTS
  112.  
  113. function Set_Defaults()
  114. {
  115.   // set all images to defaults
  116.  
  117.   for(i=0;i<parent.images_coll.length;i++)
  118.      Update_Image(i,0);
  119.   
  120.   // set all errors strings to empty
  121.   
  122.   for(i=0;i< parent.NumberOfScanners;i++)
  123.      Update_Error(i," ","Black",false);
  124.  
  125.   for(i=0;i< parent.NumberOfScanners;i++)
  126.         parent.Scanner_With_Errors[i] = 0;
  127.   
  128.   parent.TotalScanners_With_Error = 0;
  129.   parent.ScannersFixed = 0;
  130.   parent.TotalNumErrors = 0;
  131.   parent.NumFixedErrors = 0;
  132.   parent.Errors_before_another_scan = 0;
  133.   parent.ScannerIndex = 0;
  134.   parent.ScannerNumber = 0;
  135.   parent.IsOBCFinished = false;
  136.  
  137.   parent.Update_ProgressBar(SCAN_Idle);
  138. }
  139.  
  140. function WriteScannerTableRow(ScannerIndex, ScannerName, ScannerTip, ScannerDescription)
  141. {
  142.     var i = ScannerIndex;
  143.     document.writeln('<TR ID=ScannerTableRow' + i + '>');
  144.     document.writeln('    <TD WIDTH="14" VALIGN="top"><IMG ID="Image' + i + '" BORDER="0" SRC="scanner.gif" WIDTH="14" HEIGHT="14"></TD>');
  145.     document.writeln('    <TD WIDTH="350" VALIGN="top">');
  146.     document.writeln('        <SPAN CLASS="classScannerName" TOOLTIP="' + ScannerTip + '" ONCLICK="ShowToolTip(this)" ONMOUSEOUT="HideToolTip(this)">' + ScannerName + '</SPAN><BR>');
  147.     document.writeln('        <SPAN ID="Scanner' + i + '_Description" CLASS="classScannerDescription">'+ ScannerDescription + '</SPAN>');
  148.     document.writeln('    </TD>');
  149.     document.writeln('    <TD WIDTH="179" VALIGN="top">');
  150.     document.writeln('        <FONT ID="ErrorColor' + i + '"><SPAN ID="Scanner' + i + '_Error"></SPAN></FONT>');
  151.     document.writeln('    </TD>');
  152.     document.writeln('</TR>');
  153. }
  154.  
  155. function OnResizeBody()
  156. {
  157.     // adjust height of the scanner table to maximum possible height
  158.     var ScannerTableHeight;
  159.     ScannerTableHeight = document.body.clientHeight - ScannerTableToBodyHeightDiff;
  160.     if (ScannerTableHeight < 0)
  161.         ScannerTableHeight = 0;
  162.     document.body.all.scanners_list.style.height = ScannerTableHeight;
  163. }
  164.  
  165. // fire off or stop the visual cues that indicate OBC is busy
  166. function SetBusy(bBusy)
  167. {
  168.     var BackgroundImage;
  169.     if (bBusy)
  170.         BackgroundImage = parent.GetImage("BACKGROUND_BUSY", "");
  171.     else
  172.         BackgroundImage = parent.GetImage("BACKGROUND_IDLE", "");
  173.     document.body.style.backgroundImage = "url(" + BackgroundImage + ")";
  174. }
  175.  
  176. /*********************************************************************************/
  177. // Tool Tips
  178.  
  179. // Set the text, size and position of the tool tip and make it visible
  180. // Note: A SPAN element was placed into the DIV block because in IE4
  181. //       the DIV tag does not automatically adjust to the content's
  182. //       size (but rather something ridiculously wide).  The SPAN
  183. //       element will, however, size automatically and in effect we use
  184. //       it to figure out the size of the DIV.  In IE5, the SPAN tag
  185. //       is not needed at all.
  186. // Note: The custom attribute TOOLTIP stores the tooltip's text
  187. // Note: After setting the text into the SPAN tag we need to give IE4
  188. //       a chance to calculate the size, thus we use set a timer to
  189. //       call the 2nd part of ShowToolTip.
  190. function ShowToolTip(ThisElement)
  191. {
  192.     // make sure no tool tip is already showing as we adjust it
  193.     HideToolTip(ThisElement);
  194.  
  195.     // get the tool tip text from the custom TOOLTIP attribute
  196.     var ToolTipText = ThisElement.getAttribute("TOOLTIP");
  197.     if (ToolTipText == null)
  198.         return;
  199.  
  200.     // get the tool tip elements
  201.     var ToolTipBoxElement = document.all.ToolTipDiv;
  202.     var ToolTipTextElement = document.all.ToolTipTextBox;
  203.  
  204.     // set the text.. 
  205.     // but first reset the text height and width so they will be
  206.     // automatically calculated; the box must also be wide enough
  207.     // or else the text will wrap
  208.     ToolTipBoxElement.style.width = document.body.clientWidth;
  209.     ToolTipTextElement.style.height = "";
  210.     ToolTipTextElement.style.width = "";
  211.     ToolTipTextElement.innerHTML = ToolTipText;
  212.  
  213.     // give a chance for IE4 to calculate text height and width
  214.     // then call second part of ShowToolTip
  215.     var x = event.clientX;
  216.     var y = event.clientY + 20;
  217.     var params = x + "," + y;
  218.     setTimeout("ShowToolTipPart2(" + params + ")", 1);  // time out as fast as possible
  219. }
  220.  
  221. function ShowToolTipPart2(x, y)
  222. {
  223.     // get the tool tip elements
  224.     var ToolTipBoxElement = document.all.ToolTipDiv;
  225.     var ToolTipTextElement = document.all.ToolTipTextBox;
  226.  
  227.     // calculate tool tip box position and size
  228.     var TotalWidthBorder   = parseInt(ToolTipBoxElement.style.borderLeftWidth)
  229.                            + parseInt(ToolTipBoxElement.style.borderRightWidth);
  230.     var TotalWidthPadding  = parseInt(ToolTipBoxElement.style.paddingLeft)
  231.                            + parseInt(ToolTipBoxElement.style.paddingRight);
  232.     var TotalHeightBorder  = parseInt(ToolTipBoxElement.style.borderTopWidth)
  233.                            + parseInt(ToolTipBoxElement.style.borderBottomWidth);
  234.     var TotalHeightPadding = parseInt(ToolTipBoxElement.style.paddingTop)
  235.                            + parseInt(ToolTipBoxElement.style.paddingBottom);
  236.     var ToolTipHeight = ToolTipTextElement.offsetHeight + TotalHeightBorder + TotalHeightPadding;
  237.     var ToolTipWidth  = ToolTipTextElement.offsetWidth + TotalWidthBorder + TotalWidthPadding;
  238.     var ToolTipTop = y;
  239.     var ToolTipLeft = x;
  240.  
  241.     // adjust vertical position so it won't be off the client area
  242.     var tmpToolTipBottom = ToolTipTop + ToolTipHeight;
  243.  
  244.     // STS 342381...Move the tooltip above the hand cursor instead
  245.     // if (tmpToolTipBottom > document.body.clientHeight)
  246.     //     ToolTipTop = document.body.clientHeight - ToolTipHeight - 1;
  247.  
  248.     if (tmpToolTipBottom > document.body.clientHeight)
  249.         ToolTipTop = y - 20 - ToolTipHeight - 1;
  250.     if (ToolTipTop < 0)
  251.         ToolTipTop = 0;
  252.  
  253.     // adjust horizontal position so it won't be off the client area
  254.     var tmpToolTipRight = ToolTipLeft + ToolTipWidth;
  255.     if (tmpToolTipRight > document.body.clientWidth)
  256.         ToolTipLeft = document.body.clientWidth - ToolTipWidth - 1;
  257.     if (ToolTipLeft < 0)
  258.         ToolTipLeft = 0;
  259.         
  260.     // set the position then size then visibility
  261.     ToolTipBoxElement.style.height = ToolTipHeight;
  262.     ToolTipBoxElement.style.width = ToolTipWidth;
  263.     ToolTipBoxElement.style.top = ToolTipTop;
  264.     ToolTipBoxElement.style.left = ToolTipLeft; 
  265.     ToolTipBoxElement.style.visibility = "visible";
  266. }
  267.  
  268. function HideToolTip(ThisElement)
  269. {
  270.     var ToolTipElement = document.all.ToolTipDiv;
  271.     ToolTipElement.style.visibility = "hidden";
  272.     ToolTipElement.style.top = 0;
  273.     ToolTipElement.style.left = 0; 
  274. }
  275. function LoadScanners()
  276. {
  277.   var Index=0;
  278.   var ScannerName,ScanDesc,Tooltip;
  279.   
  280.   parent.LoadResourceDoc();
  281.   GetOS();
  282.    
  283.   ScannerName = parent.GetString("WIN_REG_SCAN", "", "");
  284.   ScanDesc = parent.GetString("WIN_REG_SCAN_DESC", "", "");
  285.   Tooltip = parent.GetString("WIN_REG_SCAN_TOOLTIP", "", "");
  286.   WriteScannerTableRow(Index++, ScannerName,Tooltip,ScanDesc);
  287.             
  288.   ScannerName = parent.GetString("PROGRAM_INTEGRITY_SCAN", "", "");
  289.   ScanDesc = parent.GetString("PROGRAM_INTEGRITY_SCAN_DESC", "", "");
  290.   Tooltip = parent.GetString("PROGRAM_INTEGRITY_SCAN_TOOLTIP", "", "");
  291.   WriteScannerTableRow(Index++, ScannerName,Tooltip,ScanDesc);
  292.             
  293.   ScannerName = parent.GetString("FREE_SPACE_CHECK", "", "");
  294.   ScanDesc = parent.GetString("FREE_SPACE_CHECK_DESC", "", "");
  295.   Tooltip = parent.GetString("FREE_SPACE_CHECK_TOOLTIP", "", "");
  296.   WriteScannerTableRow(Index++, ScannerName,Tooltip,ScanDesc);
  297.             
  298.   ScannerName = parent.GetString("VIRUS_PROTECT_CHECK", "", "");
  299.   ScanDesc = parent.GetString("VIRUS_PROTECT_CHECK_DESC", "", "");
  300.   Tooltip = parent.GetString("VIRUS_PROTECT_CHECK_TOOLTIP", "", "");
  301.   WriteScannerTableRow(Index++, ScannerName,Tooltip,ScanDesc);
  302.             
  303.   ScannerName = parent.GetString("AUTO_PROTECT_CHECK", "", "");
  304.   ScanDesc = parent.GetString("AUTO_PROTECT_CHECK_DESC", "", "");
  305.   Tooltip = parent.GetString("AUTO_PROTECT_CHECK_TOOLTIP", "", "");
  306.   WriteScannerTableRow(Index++, ScannerName,Tooltip,ScanDesc);
  307.             
  308.   ScannerName = parent.GetString("LAST_VIRUS_SCAN", "", "");
  309.   ScanDesc = parent.GetString("LAST_VIRUS_SCAN_DESC", "", "");
  310.   Tooltip = parent.GetString("LAST_VIRUS_SCAN_TOOLTIP", "", "");
  311.   WriteScannerTableRow(Index++, ScannerName,Tooltip,ScanDesc);
  312.             
  313.   ScannerName = parent.GetString("SHORTCUT_SCAN", "", "");
  314.   ScanDesc = parent.GetString("SHORTCUT_SCAN_DESC", "", "");
  315.   Tooltip = parent.GetString("SHORTCUT_SCAN_TOOLTIP", "", "");
  316.   WriteScannerTableRow(Index++, ScannerName,Tooltip,ScanDesc);
  317.             
  318.   if(!bWinNT)
  319.   {
  320.    ScannerName = parent.GetString("DISK_DOCTOR", "", "");
  321.    ScanDesc = parent.GetString("DISK_DOCTOR_DESC", "", "");
  322.    Tooltip = parent.GetString("DISK_DOCTOR_TOOLTIP", "", "");
  323.    WriteScannerTableRow(Index++, ScannerName,Tooltip,ScanDesc);
  324.                 
  325.    ScannerName = parent.GetString("REG_DOCTOR", "", "");
  326.    ScanDesc = parent.GetString("REG_DOCTOR_DESC", "", "");
  327.    Tooltip = parent.GetString("REG_DOCTOR_TOOLTIP", "", "");
  328.    WriteScannerTableRow(Index++, ScannerName,Tooltip,ScanDesc);
  329.                
  330.    ScannerName = parent.GetString("DISK_FRAG_SCAN", "", "");
  331.    ScanDesc = parent.GetString("DISK_FRAG_SCAN_DESC", "", "");
  332.    Tooltip = parent.GetString("DISK_FRAG_SCAN_TOOLTIP", "", "");                
  333.    WriteScannerTableRow(Index++, ScannerName,Tooltip,ScanDesc);
  334.   }
  335. }
  336.